import request from '../utils/api'

/**
 * 房间服务类，提供房间管理相关的API调用
 */
class RoomService {
  /**
   * 获取房间列表
   * @param pageNum - 页码
   * @param pageSize - 每页数量
   * @param query - 搜索关键词
   * @returns 房间列表数据
   */
  getRoomList(pageNum: number, pageSize: number, query?: string): Promise<any> {
    return request.get('/room/list', {
      params: {
        pageNum,
        pageSize,
        query
      }
    })
  }

  /**
   * 获取房间详情
   * @param id - 房间ID
   * @returns 房间详情数据
   */
  getRoomDetail(id: number): Promise<any> {
    return request.get(`/room/${id}`)
  }

  /**
   * 创建房间
   * @param data - 房间数据
   * @returns 创建结果
   */
  createRoom(data: any): Promise<any> {
    return request.post('/room', data)
  }

  /**
   * 更新房间信息
   * @param id - 房间ID
   * @param data - 更新的房间数据
   * @returns 更新结果
   */
  updateRoom(id: number, data: any): Promise<any> {
    return request.put(`/room/${id}`, data)
  }

  /**
   * 删除房间
   * @param id - 房间ID
   * @returns 删除结果
   */
  deleteRoom(id: number): Promise<any> {
    return request.delete(`/room/${id}`)
  }

  /**
   * 获取房间状态统计
   * @returns 房间状态统计数据
   */
  getRoomStatusStatistics(): Promise<any> {
    return request.get('/room/status/statistics')
  }
}

export default new RoomService()